package br.com.webhomesites.padrao.view;

import br.com.webhomesites.configuracao.model.CidadeModel;
import br.com.webhomesites.configuracao.model.EstadoModel;
import br.com.webhomesites.configuracao.utils.ConfiguracaoInstancias;
import br.com.webhomesites.padrao.contracts.IFornecedorView;
import br.com.webhomesites.padrao.contracts.IDocument;
import java.awt.Component;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.KeyListener;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JTextField;

public class FornecedorView extends javax.swing.JInternalFrame implements IFornecedorView {

    //construtor da classe. carrega os componentes
    private IDocument doc;

    public FornecedorView() {
        initComponents();
        setLocation(50, 10);
        
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        rgFornecedorPessoa = new javax.swing.ButtonGroup();
        painelCentralFornecedor = new javax.swing.JPanel();
        labelFornecedorRazaoSocial = new javax.swing.JLabel();
        txtFornecedorNome = new javax.swing.JTextField();
        labelFornecedorCodigo = new javax.swing.JLabel();
        labeFornecedorCNPJ = new javax.swing.JLabel();
        txtFornecedorCNPJ = new javax.swing.JTextField();
        txtFornecedorCodigo = new javax.swing.JTextField();
        labelFornecedorInscriacoEstadual = new javax.swing.JLabel();
        txtFornecedorInscricaoEstadual = new javax.swing.JTextField();
        labelFornecedorNome = new javax.swing.JLabel();
        txtFornecedorRazaoSocial = new javax.swing.JTextField();
        rbPessoaFisicaFornecedor = new javax.swing.JRadioButton();
        rdPessoaJuridicaFornecedor = new javax.swing.JRadioButton();
        labelPessoaFornecedor = new javax.swing.JLabel();
        labelFornecedorBairro = new javax.swing.JLabel();
        labelFornecedorEstado = new javax.swing.JLabel();
        txtFornecedorEndereco = new javax.swing.JTextField();
        txtFornecedorTelefone = new javax.swing.JTextField();
        txtFornecedorBairro = new javax.swing.JTextField();
        comboFornecedorEstado = new javax.swing.JComboBox();
        comboFornecedorCidade = new javax.swing.JComboBox();
        labelFornecedorTelefone = new javax.swing.JLabel();
        labelFornecedorEmail = new javax.swing.JLabel();
        labelFornecedorCidade = new javax.swing.JLabel();
        txtFornecedorEmail = new javax.swing.JTextField();
        labelFornecedorEndereco = new javax.swing.JLabel();
        labeFornecedorCpf = new javax.swing.JLabel();
        txtFornecedorCpf = new javax.swing.JTextField();
        labelFornecedorRg = new javax.swing.JLabel();
        txtFornecedorRg = new javax.swing.JTextField();
        txtFornecedorCelular = new javax.swing.JTextField();
        labelFornecedorCelular = new javax.swing.JLabel();
        txtFornecedorContato = new javax.swing.JTextField();
        labelFornecedorContato = new javax.swing.JLabel();
        labelFornecedorObservacao = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        areaFornecedorObservacao = new javax.swing.JTextArea();
        btnNovo = new javax.swing.JButton();
        btnRemover = new javax.swing.JButton();
        btnSalvar = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();
        btnPesquisar = new javax.swing.JButton();
        btnEditar = new javax.swing.JButton();

        setClosable(true);
        setIconifiable(true);

        painelCentralFornecedor.setBorder(javax.swing.BorderFactory.createTitledBorder("Cadastro de Fornecedor"));
        painelCentralFornecedor.setPreferredSize(new java.awt.Dimension(486, 440));

        labelFornecedorRazaoSocial.setText("Razão Social");

        txtFornecedorNome.setColumns(5);
        txtFornecedorNome.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txtFornecedorNome.setCaretPosition(0);

        labelFornecedorCodigo.setText("Cód.Fornecedor");

        labeFornecedorCNPJ.setText("CNPJ");

        labelFornecedorInscriacoEstadual.setText("Inscrição Estadual");

        labelFornecedorNome.setText("Nome");

        txtFornecedorRazaoSocial.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtFornecedorRazaoSocialActionPerformed(evt);
            }
        });

        rgFornecedorPessoa.add(rbPessoaFisicaFornecedor);
        rbPessoaFisicaFornecedor.setText("Física");
        rbPessoaFisicaFornecedor.setActionCommand("F");

        rgFornecedorPessoa.add(rdPessoaJuridicaFornecedor);
        rdPessoaJuridicaFornecedor.setText("Jurídica");
        rdPessoaJuridicaFornecedor.setActionCommand("J");

        labelPessoaFornecedor.setText("Pessoa");

        labelFornecedorBairro.setText("Bairro");

        labelFornecedorEstado.setText("Estado");

        txtFornecedorEndereco.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtFornecedorEnderecoActionPerformed(evt);
            }
        });

        labelFornecedorTelefone.setText("Telefone");

        labelFornecedorEmail.setText("E-mail");

        labelFornecedorCidade.setText("Cidade");

        labelFornecedorEndereco.setText("Endereço");

        labeFornecedorCpf.setText("CPF");

        labelFornecedorRg.setText("RG");

        labelFornecedorCelular.setText("Celular");

        labelFornecedorContato.setText("Contato");

        labelFornecedorObservacao.setText("Observações");

        areaFornecedorObservacao.setColumns(20);
        areaFornecedorObservacao.setRows(5);
        jScrollPane1.setViewportView(areaFornecedorObservacao);

        javax.swing.GroupLayout painelCentralFornecedorLayout = new javax.swing.GroupLayout(painelCentralFornecedor);
        painelCentralFornecedor.setLayout(painelCentralFornecedorLayout);
        painelCentralFornecedorLayout.setHorizontalGroup(
            painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, painelCentralFornecedorLayout.createSequentialGroup()
                .addGap(0, 10, Short.MAX_VALUE)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(comboFornecedorCidade, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(comboFornecedorEstado, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(labeFornecedorCpf)
                        .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(painelCentralFornecedorLayout.createSequentialGroup()
                                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(txtFornecedorTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(labelFornecedorTelefone))
                                .addGap(14, 14, 14)
                                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(labelFornecedorCelular)
                                    .addComponent(txtFornecedorCelular)))
                            .addComponent(labelFornecedorRg)
                            .addGroup(painelCentralFornecedorLayout.createSequentialGroup()
                                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(labelFornecedorCodigo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(txtFornecedorCodigo))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(painelCentralFornecedorLayout.createSequentialGroup()
                                        .addComponent(rbPessoaFisicaFornecedor)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(rdPessoaJuridicaFornecedor))
                                    .addComponent(labelPessoaFornecedor)))
                            .addComponent(labelFornecedorNome)
                            .addComponent(txtFornecedorRg, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(txtFornecedorNome, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(txtFornecedorCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(painelCentralFornecedorLayout.createSequentialGroup()
                            .addGap(10, 10, 10)
                            .addComponent(labelFornecedorCidade))
                        .addGroup(painelCentralFornecedorLayout.createSequentialGroup()
                            .addGap(10, 10, 10)
                            .addComponent(labelFornecedorEstado))
                        .addComponent(labelFornecedorEndereco)
                        .addComponent(txtFornecedorEndereco, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(18, 18, 18)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(labelFornecedorBairro)
                            .addComponent(txtFornecedorRazaoSocial, javax.swing.GroupLayout.DEFAULT_SIZE, 299, Short.MAX_VALUE)
                            .addComponent(txtFornecedorCNPJ)
                            .addComponent(txtFornecedorInscricaoEstadual)
                            .addComponent(txtFornecedorEmail)
                            .addComponent(txtFornecedorBairro))
                        .addComponent(labelFornecedorEmail)
                        .addComponent(labelFornecedorInscriacoEstadual)
                        .addComponent(labeFornecedorCNPJ)
                        .addComponent(labelFornecedorRazaoSocial)
                        .addComponent(labelFornecedorContato))
                    .addComponent(txtFornecedorContato)
                    .addComponent(labelFornecedorObservacao)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE))
                .addContainerGap())
        );
        painelCentralFornecedorLayout.setVerticalGroup(
            painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(painelCentralFornecedorLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelFornecedorCodigo)
                    .addComponent(labelPessoaFornecedor))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtFornecedorCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(rbPessoaFisicaFornecedor)
                    .addComponent(rdPessoaJuridicaFornecedor))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelFornecedorNome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(labelFornecedorRazaoSocial, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtFornecedorNome)
                    .addComponent(txtFornecedorRazaoSocial))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labeFornecedorCpf, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(labeFornecedorCNPJ, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtFornecedorCpf)
                    .addComponent(txtFornecedorCNPJ))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelFornecedorRg)
                    .addComponent(labelFornecedorInscriacoEstadual))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtFornecedorRg)
                    .addComponent(txtFornecedorInscricaoEstadual))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelFornecedorTelefone)
                    .addComponent(labelFornecedorEmail)
                    .addComponent(labelFornecedorCelular))
                .addGap(7, 7, 7)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtFornecedorTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtFornecedorEmail)
                    .addComponent(txtFornecedorCelular))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelFornecedorEndereco)
                    .addComponent(labelFornecedorBairro))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtFornecedorEndereco)
                    .addComponent(txtFornecedorBairro))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelFornecedorEstado)
                    .addComponent(labelFornecedorContato))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(comboFornecedorEstado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtFornecedorContato, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(13, 13, 13)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelFornecedorCidade)
                    .addComponent(labelFornecedorObservacao))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(painelCentralFornecedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(comboFornecedorCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32))
        );

        btnNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/document-icon.png"))); // NOI18N
        btnNovo.setMnemonic('n');

        btnRemover.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/delete-icon.png"))); // NOI18N
        btnRemover.setMnemonic('x');

        btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/save-icon.png"))); // NOI18N
        btnSalvar.setMnemonic('s');

        btnCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/block-icon.png"))); // NOI18N
        btnCancelar.setMnemonic('c');

        btnPesquisar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/search-icon.png"))); // NOI18N
        btnPesquisar.setMnemonic('p');

        btnEditar.setText("Editar");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(painelCentralFornecedor, javax.swing.GroupLayout.DEFAULT_SIZE, 664, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(btnNovo, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnRemover, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnEditar, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(painelCentralFornecedor, javax.swing.GroupLayout.DEFAULT_SIZE, 516, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(btnSalvar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btnRemover, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btnCancelar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btnNovo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btnEditar, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(btnPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(22, 22, 22))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void txtFornecedorRazaoSocialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtFornecedorRazaoSocialActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtFornecedorRazaoSocialActionPerformed

    private void txtFornecedorEnderecoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtFornecedorEnderecoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtFornecedorEnderecoActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextArea areaFornecedorObservacao;
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnEditar;
    private javax.swing.JButton btnNovo;
    private javax.swing.JButton btnPesquisar;
    private javax.swing.JButton btnRemover;
    private javax.swing.JButton btnSalvar;
    private javax.swing.JComboBox comboFornecedorCidade;
    private javax.swing.JComboBox comboFornecedorEstado;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel labeFornecedorCNPJ;
    private javax.swing.JLabel labeFornecedorCpf;
    private javax.swing.JLabel labelFornecedorBairro;
    private javax.swing.JLabel labelFornecedorCelular;
    private javax.swing.JLabel labelFornecedorCidade;
    private javax.swing.JLabel labelFornecedorCodigo;
    private javax.swing.JLabel labelFornecedorContato;
    private javax.swing.JLabel labelFornecedorEmail;
    private javax.swing.JLabel labelFornecedorEndereco;
    private javax.swing.JLabel labelFornecedorEstado;
    private javax.swing.JLabel labelFornecedorInscriacoEstadual;
    private javax.swing.JLabel labelFornecedorNome;
    private javax.swing.JLabel labelFornecedorObservacao;
    private javax.swing.JLabel labelFornecedorRazaoSocial;
    private javax.swing.JLabel labelFornecedorRg;
    private javax.swing.JLabel labelFornecedorTelefone;
    private javax.swing.JLabel labelPessoaFornecedor;
    private javax.swing.JPanel painelCentralFornecedor;
    private javax.swing.JRadioButton rbPessoaFisicaFornecedor;
    private javax.swing.JRadioButton rdPessoaJuridicaFornecedor;
    private javax.swing.ButtonGroup rgFornecedorPessoa;
    private javax.swing.JTextField txtFornecedorBairro;
    private javax.swing.JTextField txtFornecedorCNPJ;
    private javax.swing.JTextField txtFornecedorCelular;
    private javax.swing.JTextField txtFornecedorCodigo;
    private javax.swing.JTextField txtFornecedorContato;
    private javax.swing.JTextField txtFornecedorCpf;
    private javax.swing.JTextField txtFornecedorEmail;
    private javax.swing.JTextField txtFornecedorEndereco;
    private javax.swing.JTextField txtFornecedorInscricaoEstadual;
    private javax.swing.JTextField txtFornecedorNome;
    private javax.swing.JTextField txtFornecedorRazaoSocial;
    private javax.swing.JTextField txtFornecedorRg;
    private javax.swing.JTextField txtFornecedorTelefone;
    // End of variables declaration//GEN-END:variables

    @Override
    public void setCodigo(long codigo) {
        this.txtFornecedorCodigo.setText((Long.toString(codigo)));
    }

    @Override
    public long getCodigo() {
        return Long.parseLong(txtFornecedorCodigo.getText());
    }

    @Override
    public void setPessoa(String pessoa) {

        switch (pessoa) {
            case "F":
                rgFornecedorPessoa.setSelected(rbPessoaFisicaFornecedor.getModel(), true);
                txtFornecedorCNPJ.setEnabled(false);
                txtFornecedorRazaoSocial.setEnabled(false);
                txtFornecedorInscricaoEstadual.setEnabled(false);

                txtFornecedorCpf.setEnabled(true);
                txtFornecedorRg.setEnabled(true);
                break;
            case "J":
                rgFornecedorPessoa.setSelected(rdPessoaJuridicaFornecedor.getModel(), true);
                txtFornecedorCNPJ.setEnabled(true);
                txtFornecedorRazaoSocial.setEnabled(true);
                txtFornecedorInscricaoEstadual.setEnabled(true);

                txtFornecedorCpf.setEnabled(false);
                txtFornecedorRg.setEnabled(false);
                break;
        }
    }

    @Override
    public String getPessoa() {
        return this.rgFornecedorPessoa.getSelection().getActionCommand();
    }

    @Override
    public void setNome(String nome) {
        this.txtFornecedorNome.setText(nome);
    }

    @Override
    public String getNome() {
        return this.txtFornecedorNome.getText();
    }

    @Override
    public void setCpf(String cpf) {
        this.txtFornecedorCpf.setText(cpf);
    }

    @Override
    public String getCpf() {
        return this.txtFornecedorCpf.getText();
    }

    @Override
    public void setRg(String rg) {
        this.txtFornecedorRg.setText(rg);
    }

    @Override
    public String getRg() {
        return this.txtFornecedorRg.getText();
    }

    @Override
    public void setCelular(String celular) {
        this.txtFornecedorCelular.setText(celular);
    }

    @Override
    public String getCelular() {
        return this.txtFornecedorCelular.getText();
    }

    @Override
    public void setRazaoSocial(String razaoSocial) {
        this.txtFornecedorRazaoSocial.setText(razaoSocial);
    }

    @Override
    public String getRazaoSocial() {
        return txtFornecedorRazaoSocial.getText();
    }

    @Override
    public void setCnpj(String cnpj) {
        this.txtFornecedorCNPJ.setText(cnpj);
    }

    @Override
    public String getCnpj() {
        return txtFornecedorCNPJ.getText();
    }

    @Override
    public void setInscricaoEstadual(String inscricaoEstadual) {
        this.txtFornecedorInscricaoEstadual.setText(inscricaoEstadual);
    }

    @Override
    public String getInscricaoEstadual() {
        return txtFornecedorInscricaoEstadual.getText();
    }

    @Override
    public void setEndereco(String endereco) {
        this.txtFornecedorEndereco.setText(endereco);
    }

    @Override
    public String getEndereco() {
        return txtFornecedorEndereco.getText();
    }

    @Override
    public void setBairro(String bairro) {
        this.txtFornecedorBairro.setText(bairro);
    }

    @Override
    public String getBairro() {
        return txtFornecedorBairro.getText();
    }

    @Override
    public void setListaCidade(List<CidadeModel> listaCidades) {
        comboFornecedorCidade.removeAllItems();
        for (int i = 0; i < listaCidades.size(); i++) // Percorro o Array List com o For aprimorado.  
        {
            this.comboFornecedorCidade.addItem(listaCidades.get(i).getNome()); // Adiciono os dados.  
        }
    }

    @Override
    public String getCidade() {
        return comboFornecedorCidade.getSelectedItem().toString();
    }

    @Override
    public void setListaEstado(List<EstadoModel> listaEstados) {

        for (int i = 0; i < listaEstados.size(); i++) // Percorro o Array List com o For aprimorado.  
        {
            this.comboFornecedorEstado.addItem(listaEstados.get(i).getNome()); // Adiciono os dados.  
        }
    }

    @Override
    public String getEstado() {
        return comboFornecedorEstado.getSelectedItem().toString();
    }

    @Override
    public void setTelefone(String telefone) {
        this.txtFornecedorTelefone.setText(telefone);
    }

    @Override
    public String getTelefone() {
        return txtFornecedorTelefone.getText();
    }

    @Override
    public void setEmail(String email) {
        this.txtFornecedorEmail.setText(email);
    }

    @Override
    public String getEmail() {
        return txtFornecedorEmail.getText();
    }
    
    @Override
    public void setContato(String contato) {
        this.txtFornecedorContato.setText(contato);
    }

    @Override
    public String getContato() {
        return txtFornecedorContato.getText();
    }

    @Override
    public void setObservacao(String observacao) {
        this.areaFornecedorObservacao.setText(observacao);
    }

    @Override
    public String getObservacao() {
        return areaFornecedorObservacao.getText();
    }
    
    
    @Override
    public void packAndShow() {
        //this.pack();  
        ConfiguracaoInstancias.getDesktopColeta().getDesktop().add(this);
        //txtFornecedorCodigo.setMaximumSize(4);
        //StrategyDocument.DocLetras;        
        //txtFornecedorBairro.setDocument(new StrategyDocument.DocLetras().getDocumentoPlano());
        //txtFornecedorNome.setDocument(new StrategyDocument.DocLetras().getDocumentoPlano());
        //txtFornecedorRazaoSocial.setDocument(new StrategyDocument.DocLetras().getDocumentoPlano());
        //txtFornecedorNome.setDocument(new StrategyDocument.DocLetras().getDocumentoPlano());
        //txtFornecedorEndereco.setDocument(new StrategyDocument.DocEndereco().getDocumentoPlano());
        this.setVisible(true);
    }

    @Override
    public void clearFields() {
        Component[] componentesPainel;
        componentesPainel = painelCentralFornecedor.getComponents();
        for (int j = 0; j < componentesPainel.length; j++) {
            if (componentesPainel[j] instanceof JTextField) {
                JTextField field = (JTextField) componentesPainel[j];
                field.setText("");
            }
        }
    }

    @Override
    public void putNull() {
        txtFornecedorBairro = null;
        txtFornecedorEndereco = null;
        txtFornecedorNome = null;
        txtFornecedorRazaoSocial = null;
    }

    @Override
    public void enableTxtFornecedorCodigo(boolean arg) {
        txtFornecedorCodigo.setEnabled(arg);
    }

    @Override
    public void enableRgFornecedorPessoa(boolean arg) {
        //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void enableTxtFornecedorNome(boolean arg) {
        this.txtFornecedorNome.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorCpf(boolean arg) {
        this.txtFornecedorCpf.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorRg(boolean arg) {
        this.txtFornecedorRg.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorCelular(boolean arg) {
        this.txtFornecedorCelular.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorRazaoSocial(boolean arg) {
        txtFornecedorRazaoSocial.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorCnpj(boolean arg) {
        txtFornecedorCNPJ.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorInscricaoEstadual(boolean arg) {
        txtFornecedorInscricaoEstadual.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorEndereco(boolean arg) {
        txtFornecedorEndereco.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorBairro(boolean arg) {
        txtFornecedorBairro.setEnabled(arg);
    }

    @Override
    public void enableComboFornecedorCidade(boolean arg) {
        comboFornecedorCidade.setEnabled(arg);
    }

    @Override
    public void enableComboFornecedorEstado(boolean arg) {
        comboFornecedorEstado.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorTelefone(boolean arg) {
        txtFornecedorTelefone.setEnabled(arg);
    }

    @Override
    public void enableTxtFornecedorEmail(boolean arg) {
        txtFornecedorEmail.setEnabled(arg);
    }

    @Override
    public void enableBtnAlterar(boolean arg) {
        this.btnEditar.setEnabled(arg);
    }

    @Override
    public void enableBtnRemover(boolean arg) {
        this.btnRemover.setEnabled(arg);
    }

    @Override
    public void enableBtnCancelar(boolean arg) {
        this.btnCancelar.setEnabled(arg);
    }

    @Override
    public void enableBtnSalvar(boolean arg) {
        this.btnSalvar.setEnabled(arg);
    }

    @Override
    public void enableBtnInserir(boolean arg) {
        this.btnNovo.setEnabled(arg);
    }

    @Override
    public void setInserirActionListener(ActionListener listener) {
        this.btnNovo.addActionListener(listener);
    }

    @Override
    public void setRemoverActionListener(ActionListener listener) {
        this.btnRemover.addActionListener(listener);
    }

    @Override
    public void setAlterarActionListener(ActionListener listener) {
        this.btnEditar.addActionListener(listener);
    }

    @Override
    public void setCancelarActionListener(ActionListener listener) {
        this.btnCancelar.addActionListener(listener);
    }

    @Override
    public void setSalvarActionListener(ActionListener listener) {
        this.btnSalvar.addActionListener(listener);
    }

    @Override
    public void setBtnSairActionListener(ActionListener listener) {
        //this.btnSair.addActionListener(listener); 
    }

    public void setBuscaAvancadaActionListener(ActionListener listener) {
        this.btnPesquisar.addActionListener(listener);
    }

    @Override
    public void setRbPessoaFisicaActionListener(ActionListener listener) {
        this.rbPessoaFisicaFornecedor.addActionListener(listener);
    }

    @Override
    public void setRbPessoaJuridicaActionListener(ActionListener listener) {
        this.rdPessoaJuridicaFornecedor.addActionListener(listener);
    }

    @Override
    public void removeAllitensComboFornecedorCidade() {
        this.comboFornecedorCidade.removeAllItems();
    }

    @Override
    public void removeAllitensComboFornecedorEstado() {
        this.comboFornecedorEstado.removeAllItems();
    }

    @Override
    public void setMascaraListener(KeyListener listener) {
        this.txtFornecedorCNPJ.addKeyListener(listener);
        this.txtFornecedorCpf.addKeyListener(listener);
        //this.txtFornecedorRg.addKeyListener(listener);
        this.txtFornecedorTelefone.addKeyListener(listener);
        this.txtFornecedorCelular.addKeyListener(listener);
    }

    @Override
    public boolean isRbPessoaFisica() {
        return this.rbPessoaFisicaFornecedor.isSelected();
    }

    @Override
    public boolean isRbPessoaJuridica() {
        return this.rdPessoaJuridicaFornecedor.isSelected();
    }

    @Override
    public void setPessoaFisicaSelected(boolean arg) {
        rbPessoaFisicaFornecedor.setSelected(arg);
    }
    
    public JComboBox getComboEstadoJCombo() {
        return comboFornecedorEstado;
    }

    @Override
    public void setComboEstadoActionListener(ItemListener listener) {
        this.comboFornecedorEstado.addItemListener(listener);
    }

    @Override
    public void setCidade(String cidade) {
        this.comboFornecedorCidade.setSelectedItem(cidade);
    }

    @Override
    public void setEstado(String estado) {
        this.comboFornecedorEstado.setSelectedItem(estado);
    }
    
}
